Databases are organized collections of data. Relational databases organize data records using structures such as tables (also known as relations), rows (a.k.a. tuples), and columns (a.k.a. attributes). SQL (Structured Query Language) and other tools are widely used for retrieving information from relational databases. Information retrieval can be made more efficient by using indexes to provide rapid access to database table contents. Queries based on a specific value of a column, for example, may be much faster if an index is available for that column. Indexes may be implemented in various ways, e.g., they may have a clustered architecture or a non-clustered architecture; they may be stored on the same medium as the database records and/or separately; they may be dense or sparse with respect to coverage of records in the database; and they may use data structures such as balanced trees, B+ trees, hashes, and bitfields.